﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Style
/// </summary>
public class Style
{
    private static string[] StringMapTypeStyleFeatureType = {   
                                                               "administrative",
                                                               "administrative.country",
                                                               "administrative.land_parcel",
                                                               "administrative.neighborhood",
                                                               "administrative.province",
                                                               "all",
                                                               "landscape",
                                                               "landscape.man_made",
                                                               "landscape.natural",
                                                               "poi",
                                                               "poi.attraction",
                                                               "poi.business",
                                                               "poi.government",
                                                               "poi.medical",
                                                               "poi.park",
                                                               "poi.place_of_worship",
                                                               "poi.school",
                                                               "poi.sports_complex",
                                                               "road",
                                                               "road.arterial",
                                                               "road.highway",
                                                               "road.highway.controlled_access",
                                                               "road.local",
                                                               "transit",
                                                               "transit.line",
                                                               "transit.station",
                                                               "transit.station.airport",
                                                               "transit.station.bus",
                                                               "transit.station.rail",
                                                               "water"
                                                           };

    private static string[] StringMapTypeStyleElementType = {
                                                               "all",
                                                               "geometry",
                                                               "labels"
                                                           };

    public enum MapTypeStyleFeatureType { administrative = 0,
                                                               administrative_country,
                                                               administrative_landParcel,
                                                               administrative_neighborhood,
                                                               administrative_province,
                                                               all,
                                                               landscape,
                                                               landscape_manMade,
                                                               landscape_natural,
                                                               poi,
                                                               poi_attraction,
                                                               poi_business,
                                                               poi_government,
                                                               poi_medical,
                                                               poi_park,
                                                               poi_placeOfWorship,
                                                               poi_school,
                                                               poi_sportsComplex,
                                                               road,
                                                               road_arterial,
                                                               road_highway,
                                                               road_highway_controlledAccess,
                                                               road_local,
                                                               transit,
                                                               transit_line,
                                                               transit_station,
                                                               transit_station_airport,
                                                               transit_station_bus,
                                                               transit_station_rail,
                                                               water
    };

    public enum MapTypeStyleElementType {  all = 0,
                                                               geometry,
                                                               labels};

    MapTypeStyleFeatureType _FeatureType;

    public MapTypeStyleFeatureType FeatureType
    {
        set { _FeatureType = value; _Feature = StringMapTypeStyleFeatureType[(int)_FeatureType]; }
    }

    string _Feature;
    public string Feature
    {
        get { return _Feature; }
    }

    MapTypeStyleElementType _ElementType;

    public MapTypeStyleElementType ElementType
    {
        set { _ElementType = value; _Element = StringMapTypeStyleElementType[(int)_ElementType];}
    }

    string _Element;
    public string Element
    {
        get { return _Element; }
    }

   public  int gamma;
   public string hue;
   public Boolean invert_lightness;
   public int lightness;
   public int saturation;
   public string visibility;
      
	public Style()
	{
		//
		// TODO: Add constructor logic here
		//

    }
}